'use strict'

const uuid_key = createUuid()

const Uuid = {
  get: function () {
    let val = null

    try {
      val = wx.getStorageSync('UUID_KEY') || null
    } catch (e) {
        //
    }

    return val
  },

  set: function () {
    try {
      wx.setStorageSync('UUID_KEY', uuid_key)
    } catch (e) {
      //
    }
  },

  clear: function () {
    try {
      wx.removeStorageSync(UUID_KEY)
    } catch (e) {
      //
    }
  },
}

export {Uuid}

function createUuid () {
  let d = new Date().getTime();
  let diu = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
    let r = (d + Math.random() * 16) % 16 | 0;
    d = Math.floor(d / 16);
    return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
  });
  return diu;
  
};
